package Entities;

import Visitor.IVisitor;

public class Ball implements Entities.Drawable {

    private double x;
    private double y;
    private double dx;
    private double dy;
    private double maxDx;
    private double maxDy;
    private int radio;
    private int id;

    public Ball(double x, double y, double dx, double dy, int radio) {
        this.x = x;
        this.y = y;
        this.dx = dx;
        this.dy = dy;
        this.radio = radio;
        maxDx = 1.5;
        maxDy = 1.5;
    }

    @Override
    public Drawable accept(IVisitor visitor) {
        return visitor.visit(this);
    }

    @Override
    public void addChild(Drawable drawable) {
    }

    @Override
    public void remove(Drawable drawable) {
    }

    @Override
    public Drawable getChild(int pos) {
        return null;
    }

    public double getX() {
        return x;
    }

    public void setX(double x) {
        this.x = x;
    }

    public double getY() {
        return y;
    }

    public void setY(double y) {
        this.y = y;
    }

    public int getRadio() {
        return radio;
    }

    public double getDx() {
        return dx;
    }

    public void setDx(double dx) {
        this.dx = dx;
    }

    public double getDy() {
        return dy;
    }

    public void setDy(double dy) {
        this.dy = dy;
    }

    @Override
    public int getNumElems() {
        return 0;
    }

    @Override
    public int getId() {
        return id;
    }
    
    @Override
    public void setId(int id){
        this.id = id;
    }

    public double getMaxDx() {
        return maxDx;
    }

    public void setMaxDx(float maxDx) {
        this.maxDx = maxDx;
    }

    public double getMaxDy() {
        return maxDy;
    }

    public void setMaxDy(double maxDy) {
        this.maxDy = maxDy;
    }
}
